#ifndef MESSAGEEDITAREA_H
#define MESSAGEEDITAREA_H

#include "model/data.h"
#include <QLabel>
#include <QWidget>
#include <QPushButton>
#include <QPlainTextEdit>

using namespace model;

class MessageEditArea : public QWidget
{
    Q_OBJECT
public:
    explicit MessageEditArea(QWidget *parent = nullptr);

    //初始化信号槽
    void initSignalSlots();
    //发送文本消息
    void sendTextMessage();
    //添加自己发送的消息到消息列表
    void addSelfMessage(Message_Type messageType, const QByteArray& content, const QString& extraInfo);
    //添加收到的别人的消息到消息列表
    void addOtherMessage(const Message& message);
    //点击发送图片按钮
    void onSendImageClicked();
    //点击发送文件按钮
    void onSendFileClicked();
    //开始录制语音
    void onStartRecordSpeech();
    //停止录制语音
    void onStopRecordSpeech();
    //语音录制完成后发送语音消息
    void sendSpeech(const QString& path);

private:
    QPushButton* sendImageBtn;
    QPushButton* sendFileBtn;
    QPushButton* sendSpeechBtn;
    QPushButton* showHistoryBtn;
    QPlainTextEdit* textEdit;
    QPushButton* sendTextBtn;
    QLabel* tipLabel;           //提示正在录制语音的标签
};


#endif // MESSAGEEDITAREA_H
